1. Field of the Invention
The present invention relates to system testing and, more particularly, to developing test cases from data to be provided to a system under test.
2. Description of the Related Art
Adequately testing software-based systems can be a complex and costly endeavor. To test a system with approximately 100,000 lines of code, for example, a significant number of test scenarios would be required along with several months in which to conduct the testing. A test scenario, or test case, refers to a combination of input parameters, internal events, external events, and the like, which influence the internal operation of the software-based system that is undergoing testing. Typically, even a simple software system has such a large number of parameters that testing each possible test case is difficult, if not impossible.
The increasing complexity of software systems has given rise to the need for suitable testing methodologies. One such technique is referred to as the combinatorial design method. The combinatorial design method can reduce the number of test cases needed to check the functionality of a software-based system. Generally, for a given software-based system, there are too many parameter combinations to test all possible scenarios or internal states. The combinatorial design method aids the tester in selecting which scenarios to test. In the combinatorial design approach, the tester generates tests that cover all pairwise, triple, or n-way combinations of test parameters specified in formal test requirements. Covering all pairwise combinations means that for any two parameters, p1 and p2, and any valid values v1 for p1 and v2 for p2, there is a test in which p1 has the value v1 and p2 has the value v2.
Software-based tools have been developed which construct pairwise combinatorial tables of test parameters. Available tools derive the pairwise combinatorial tables from tabular input data of test parameter information. While such tools are useful in terms of testing, requiring input data in tabular form does have limitations. In particular, when data is presented in tabular form, it can be difficult to indicate relationships and dependencies between multiple parameters and value choices. This can complicate test case development for test personnel. Further, it is difficult to associate supplemental data with test parameters when the parameters are specified in tabular form.
It would be beneficial to provide a more intuitive and reusable methodology for developing test cases which overcomes the deficiencies described above.